import axios  from "axios";
// import router from "../router/index.js";
import { Message } from 'element-ui';

const http = axios.create({
    baseURL: 'http://127.0.0.1:3000',
    timeout: 1000,
    // headers: {
    //     'Authorization': `${token}`
    //      // 在请求头中添加 token
    //  }
});

// 请求，响应拦截器
// 添加请求拦截器
http.interceptors.request.use(
    function (config) {
        // 在发送请求之前做些什么
        // 1.携带token
        const token = localStorage.getItem("token");
        config.headers = {
            'Authorization': `${token}`
        }
        return config;
    }, 
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    if(response.status == 200){

        console.log("200状态",response.data)
        
        if(response.data.status == 401){
            console.log("检测到过期，6666")

            Message({
                message: '登录已经过期，请重新前往登录！',
                type: 'warning'
            });

            //标记是否过期
            localStorage.setItem("token_is_exp",1)
        
            return;
            // return router.push("/login")
        }
        return response.data;
    }
    
  }, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  });

export default http;